﻿<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="公司调度日报表(总表二).aspx.cs" Inherits="syc.Juece.Report.公司调度日报表_总表二_" %>
<%@ Import  Namespace="NPOI.HSSF.UserModel" %>
<%@ Import  Namespace="NPOI.HPSF" %>
<%@ Import  Namespace="System.IO" %>
<%@ Import  Namespace="System.Data" %>
<%@ Import  Namespace="System.Data.SqlClient" %>
<%@ Import  Namespace=" System.Configuration" %>

<head runat="server">
    <title></title>
    <style type="text/css">
        .style1
        {
            height: 32px;
        }
        .style2
        {
            height: 33px;
        }
        .style3
        {
            height: 31px;
        }
        .table2 td
        {
            border:.5pt solid  windowtext;	      
        }
    </style>
    <script runat="server">
        protected double 带钢合计日完成率;
        protected double 带钢合计月完成率;
        protected double 带钢合计年完成率;
        protected double 带钢年计划 = 0;
        protected double 带钢月计划 = 0;
        protected double 带钢当日 = 0;
        protected double 带钢本月 = 0;
        protected double 带钢本年 = 0;
        protected double 带钢月完成率 = 0;
        protected double 带钢年完成率 = 0;

        protected double 不锈钢年计划 = 0;
        protected double 不锈钢月计划 = 0;
        protected double 不锈钢当日 = 0;
        protected double 不锈钢本月 = 0;
        protected double 不锈钢本年 = 0;
        protected double 不锈钢月完成率 = 0;
        protected double 不锈钢年完成率 = 0;

        protected double 外加工年计划 = 0;
        protected double 外加工月计划 = 0;
        protected double 外加工当日 = 0;
        protected double 外加工本月 = 0;
        protected double 外加工本年 = 0;
        protected double 外加工月完成率 = 0;
        protected double 外加工年完成率 = 0;
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                前一日时间 = DateTime.Parse(DateTime.Today.AddDays(-1).ToShortDateString());
                this.RiQi.Text = DateTime.Today.AddDays(-1).ToString("yyyy年M月d日");
                this.Year0.SelectedValue = DateTime.Today.Year.ToString();
                this.Month0.SelectedValue = DateTime.Today.Month.ToString();
            }
            Button_Query_Click(null, null);
        }
        protected void Button_Query_Click(object sender, EventArgs e)
        {
            month = int.Parse(this.Month0.SelectedValue);
            year = int.Parse(this.Year0.SelectedValue);
            SqlConnection Conn = new SqlConnection();
            Conn.ConnectionString = ConfigurationManager.ConnectionStrings["SCMConnectionString1"].ConnectionString;
            Conn.Open();
            SqlCommand Cmd = new SqlCommand();
            Cmd.Connection = Conn;
            //获得年计划
            Cmd.CommandText = @"select (isnull(套管,0)) as 月套管计划,(isnull(油管,0)) as 月油管计划,isnull(套管接箍,0) as 月套管接箍,isnull(油管接箍,0) as 月油管接箍 from 生产计划2 where 年度='" + year + "' and 月份=0";
            SqlDataReader Reader = Cmd.ExecuteReader();
            if (Reader.Read())
            {
                ntaojihua = Reader.GetDouble(0);
                nyoujihua = Reader.GetDouble(1);
                ntjgjihua = Reader.GetDouble(2);
                nyjgjihua = Reader.GetDouble(3);
            }
            Reader.Close();

            //获得月计划
            Cmd.CommandText = @"select (isnull(套管,0)) as 月套管计划,(isnull(油管,0)) as 月油管计划,isnull(套管接箍,0) as 月套管接箍,isnull(油管接箍,0) as 月油管接箍 from 生产计划2 where 年度='" + year + "' and 月份='" + month + "'";
            Reader = Cmd.ExecuteReader();
            if (Reader.Read())
            {
                ytaojihua = Reader.GetDouble(0);
                yyoujihua = Reader.GetDouble(1);
                ytjgjihua = Reader.GetDouble(2);
                yyjgjihua = Reader.GetDouble(3);
            }
            Reader.Close();

            //带钢
            Cmd.CommandText = @"select 年计划,月计划 from 精密带钢进度 where year(日期)='" + year + "' and  MONTH(日期)='" + month + "' group by 年计划,月计划";
            Reader = Cmd.ExecuteReader();
            if (Reader.Read())
            {
                if (Reader.IsDBNull(0))
                {
                    ndgjihua = 0;
                }
                else
                {
                    ndgjihua = double.Parse(Reader.GetDecimal(0).ToString());
                }
                if (Reader.IsDBNull(1))
                {
                    ydgjihua = 0;
                }
                else
                {
                    ydgjihua = double.Parse(Reader.GetDecimal(1).ToString());
                }
            }
            Reader.Close();

            //---------------------------
            //当日生产量
            前一日时间 = DateTime.Parse(this.RiQi.Text);
            string sql = @"
            declare @d2you float
            declare @d5you float
            declare @d2n80you float
            declare @d5n80you float

            declare @d1tao float
            declare @d2tao float
            declare @d1n80tao float
            declare @d2n80tao float

            declare @dyjiegu int
            declare @dtjiegu int     
             
            declare @ddg float       
            declare @riqi smalldatetime
            select @d2you=round(isnull(sum(称测重量),0)/1000,3) from 生产进度 where 分厂ID=2 and 产品类别ID=1 and 日期=@日期  
            select @d5you=round(isnull(sum(称测重量),0)/1000,3) from 生产进度 where 分厂ID=5 and 产品类别ID=1 and 日期=@日期 
            select @d2n80you=round(isnull(sum(称测重量),0)/1000,3) from 生产进度 where 分厂ID=2 and 产品类别ID=3 and 日期=@日期  
            select @d5n80you=round(isnull(sum(称测重量),0)/1000,3) from 生产进度 where 分厂ID=5 and 产品类别ID=3 and 日期=@日期 
            select @d1tao=round(isnull(sum(称测重量),0)/1000,3) from 生产进度 where 分厂ID=1 and 产品类别ID=2 and 日期=@日期 
            select @d2tao=round(isnull(sum(称测重量),0)/1000,3) from 生产进度 where 分厂ID=2 and 产品类别ID=2 and 日期=@日期 
            select @d1n80tao=round(isnull(sum(称测重量),0)/1000,3) from 生产进度 where 分厂ID=1 and 产品类别ID=4 and 日期=@日期 
            select @d2n80tao=round(isnull(sum(称测重量),0)/1000,3) from 生产进度 where 分厂ID=2 and 产品类别ID=4 and 日期=@日期 
            select @dyjiegu=isnull(sum(车丝1),0)+isnull(sum(车丝2),0)+isnull(sum(车丝3),0)+isnull(sum(车丝4),0)+isnull(sum(车丝5),0)+isnull(sum(车丝6),0)+isnull(sum(车丝7),0)+isnull(sum(车丝8),0)+isnull(sum(车丝9),0)+isnull(sum(车丝10),0)+isnull(sum(车丝11),0)+isnull(sum(车丝12),0)+isnull(sum(车丝13),0) from 生产进度3 where [产品类别ID]=1 and 日期=@日期 
            select @dtjiegu=isnull(sum(车丝1),0)+isnull(sum(车丝2),0)+isnull(sum(车丝3),0)+isnull(sum(车丝4),0)+isnull(sum(车丝5),0)+isnull(sum(车丝6),0)+isnull(sum(车丝7),0)+isnull(sum(车丝8),0)+isnull(sum(车丝9),0)+isnull(sum(车丝10),0)+isnull(sum(车丝11),0)+isnull(sum(车丝12),0)+isnull(sum(车丝13),0) from 生产进度3 where [产品类别ID]=2 and 日期=@日期 
            select @ddg=isnull(sum(当日),0) from 精密带钢进度 where 日期=@日期
            select @d2you,@d5you,@d1tao,@d2tao,@dyjiegu,@dtjiegu,@d2n80you,@d5n80you,@d1n80tao,@d2n80tao,@ddg";
            sql = sql.Replace("@日期", "'" + 前一日时间 + "'");
            Cmd.CommandText = sql;
            Reader = Cmd.ExecuteReader();
            if (Reader.Read())
            {
                //油管量
                d2you = Reader.GetDouble(0);
                d5you = Reader.GetDouble(1);
                //套管量
                d1tao = Reader.GetDouble(2);
                d2tao = Reader.GetDouble(3);
                //油接箍
                dyjg = Reader.GetInt32(4);
                dtjg = Reader.GetInt32(5);

                d2n80you = Reader.GetDouble(6);
                d5n80you = Reader.GetDouble(7);
                d1n80tao = Reader.GetDouble(8);
                d2n80tao = Reader.GetDouble(9);
                ddg = double.Parse(Reader.GetSqlValue(10).ToString());
            }
            Reader.Close();
            dyou = d2you + d5you + d2n80you + d5n80you;
            dtao = d1tao + d2tao + d1n80tao + d2n80tao;
            //当月生产量累计

            string sql1 = @"
            declare @m2you float
            declare @m5you float
            declare @m2n80you float
            declare @m5n80you float
            declare @m1tao float
            declare @m2tao float
            declare @m1n80tao float
            declare @m2n80tao float
            declare @myjiegu int
            declare @mtjiegu int
            declare @mdg float
            declare @1yc smalldatetime 
           
            declare @2yc smalldatetime 
          
            declare @3yc smalldatetime         
                    
            declare @5yc smalldatetime          
                
            select  @1yc=起始日期 from  生产月设置 where 分厂=1 and 年度='@年度' and 月份='@月份' 
            select  @2yc=起始日期 from  生产月设置 where 分厂=2 and 年度='@年度' and 月份='@月份'
            select  @3yc=起始日期 from  生产月设置 where 分厂=3 and 年度='@年度' and 月份='@月份' 
            select  @5yc=起始日期 from  生产月设置  where 分厂=5 and 年度='@年度' and 月份='@月份' 
            select  @m2you=round(isnull(sum(称测重量),0)/1000,4) from 生产进度 where 分厂ID=2 and 产品类别ID=1 and 日期 between @2yc and @日期 
            select  @m5you=round(isnull(sum(称测重量),0)/1000,4) from 生产进度 where 分厂ID=5 and 产品类别ID=1 and 日期 between @5yc and @日期 
            select  @m2n80you=round(isnull(sum(称测重量),0)/1000,4) from 生产进度 where 分厂ID=2 and 产品类别ID=3 and 日期 between @2yc and @日期 
            select  @m5n80you=round(isnull(sum(称测重量),0)/1000,4) from 生产进度 where 分厂ID=5 and 产品类别ID=3 and 日期 between @5yc and @日期 

            select  @m1tao=round(isnull(sum(称测重量),0)/1000,4) from 生产进度 where 分厂ID=1 and 产品类别ID=2 and 日期 between @1yc and @日期 
            select  @m2tao=round(isnull(sum(称测重量),0)/1000,4) from 生产进度 where 分厂ID=2 and 产品类别ID=2 and 日期 between @2yc and @日期 
            select  @m1n80tao=round(isnull(sum(称测重量),0)/1000,4) from 生产进度 where 分厂ID=1 and 产品类别ID=4 and 日期 between @1yc and @日期 
            select  @m2n80tao=round(isnull(sum(称测重量),0)/1000,4) from 生产进度 where 分厂ID=2 and 产品类别ID=4 and 日期 between @2yc and @日期 

            select @myjiegu=isnull(sum(车丝1),0)+isnull(sum(车丝2),0)+isnull(sum(车丝3),0)+isnull(sum(车丝4),0)+isnull(sum(车丝5),0)+isnull(sum(车丝6),0)+isnull(sum(车丝7),0)+isnull(sum(车丝8),0)+isnull(sum(车丝9),0)+isnull(sum(车丝10),0)+isnull(sum(车丝11),0)+isnull(sum(车丝12),0)+isnull(sum(车丝13),0) from 生产进度3 where [产品类别ID]=1 and 日期 between @3yc and @日期  
            select @mtjiegu=isnull(sum(车丝1),0)+isnull(sum(车丝2),0)+isnull(sum(车丝3),0)+isnull(sum(车丝4),0)+isnull(sum(车丝5),0)+isnull(sum(车丝6),0)+isnull(sum(车丝7),0)+isnull(sum(车丝8),0)+isnull(sum(车丝9),0)+isnull(sum(车丝10),0)+isnull(sum(车丝11),0)+isnull(sum(车丝12),0)+isnull(sum(车丝13),0) from 生产进度3 where [产品类别ID]=2 and 日期 between @3yc and @日期  
            select @mdg=isnull(sum(本月),0) from 精密带钢进度 where 日期=@日期
            select @m2you,@m5you,@m1tao,@m2tao,@myjiegu,@mtjiegu,@m2n80you,@m5n80you,@m1n80tao,@m2n80tao,@mdg";
            sql1 = sql1.Replace("@年度", year.ToString());
            sql1 = sql1.Replace("@月份", month.ToString());
            sql1 = sql1.Replace("@日期", "'" + 前一日时间 + "'");

            Cmd.CommandText = sql1;
            Reader = Cmd.ExecuteReader();
            if (Reader.Read())
            {
                //油管量
                m2you = Reader.GetDouble(0);
                m5you = Reader.GetDouble(1);
                //套管量
                m1tao = Reader.GetDouble(2);
                m2tao = Reader.GetDouble(3);
                //油接箍
                myjg = Reader.GetInt32(4);
                mtjg = Reader.GetInt32(5);

                m2n80you = Reader.GetDouble(6);
                m5n80you = Reader.GetDouble(7);
                m1n80tao = Reader.GetDouble(8);
                m2n80tao = Reader.GetDouble(9);
                mdg = double.Parse(Reader.GetSqlValue(10).ToString());
            }
            Reader.Close();
            myou = m2you + m5you + m2n80you + m5n80you;
            mtao = m1tao + m2tao + m1n80tao + m2n80tao;
            //当年生产量累计
            string sql2 = @"
            declare @y2you float
            declare @y5you float
            declare @y2n80you float
            declare @y5n80you float

            declare @y1tao float
            declare @y2tao float
            declare @y1n80tao float
            declare @y2n80tao float

            declare @yyjiegu int
            declare @ytjiegu int
            declare @ydg float
            declare @1nc smalldatetime 
           
            declare @2nc smalldatetime 
           
            declare @3nc smalldatetime           
                       
            declare @5nc smalldatetime 
            
            select  @1nc=(select 起始日期 from  生产月设置 where 分厂=1 and 年度='@年度' and 月份=1) 
            select  @2nc=(select 起始日期 from  生产月设置 where 分厂=2 and 年度='@年度' and 月份=1) 
            select  @3nc=(select 起始日期 from  生产月设置 where 分厂=3 and 年度='@年度' and 月份=1)  
            select  @5nc=(select 起始日期 from  生产月设置  where 分厂=5 and 年度='@年度' and 月份=1) 

            select  @y2you=round(isnull(sum(称测重量),0)/1000,4) from 生产进度 where 分厂ID=2 and 产品类别ID=1 and 日期 between @2nc and @日期
            select  @y5you=round(isnull(sum(称测重量),0)/1000,4) from 生产进度 where 分厂ID=5 and 产品类别ID=1 and 日期 between @5nc and @日期 
            select  @y2n80you=round(isnull(sum(称测重量),0)/1000,4) from 生产进度 where 分厂ID=2 and 产品类别ID=3 and 日期 between @2nc and @日期
            select  @y5n80you=round(isnull(sum(称测重量),0)/1000,4) from 生产进度 where 分厂ID=5 and 产品类别ID=3 and 日期 between @5nc and @日期 
            select  @y1tao=round(isnull(sum(称测重量),0)/1000,4) from 生产进度 where 分厂ID=1 and 产品类别ID=2 and 日期 between @1nc and @日期 
            select  @y2tao=round(isnull(sum(称测重量),0)/1000,4) from 生产进度 where 分厂ID=2 and 产品类别ID=2 and 日期 between @2nc and @日期 
            select  @y1n80tao=round(isnull(sum(称测重量),0)/1000,4) from 生产进度 where 分厂ID=1 and 产品类别ID=4 and 日期 between @1nc and @日期 
            select  @y2n80tao=round(isnull(sum(称测重量),0)/1000,4) from 生产进度 where 分厂ID=2 and 产品类别ID=4 and 日期 between @2nc and @日期 
            select @yyjiegu=isnull(sum(车丝1),0)+isnull(sum(车丝2),0)+isnull(sum(车丝3),0)+isnull(sum(车丝4),0)+isnull(sum(车丝5),0)+isnull(sum(车丝6),0)+isnull(sum(车丝7),0)+isnull(sum(车丝8),0)+isnull(sum(车丝9),0)+isnull(sum(车丝10),0)+isnull(sum(车丝11),0)+isnull(sum(车丝12),0)+isnull(sum(车丝13),0) from 生产进度3 where [产品类别ID]=1 and 日期 between @3nc and @日期 
            select @ytjiegu=isnull(sum(车丝1),0)+isnull(sum(车丝2),0)+isnull(sum(车丝3),0)+isnull(sum(车丝4),0)+isnull(sum(车丝5),0)+isnull(sum(车丝6),0)+isnull(sum(车丝7),0)+isnull(sum(车丝8),0)+isnull(sum(车丝9),0)+isnull(sum(车丝10),0)+isnull(sum(车丝11),0)+isnull(sum(车丝12),0)+isnull(sum(车丝13),0) from 生产进度3 where [产品类别ID]=2 and 日期 between @3nc and @日期 
            select @ydg=isnull(sum(本年),0) from 精密带钢进度 where 日期=@日期
            select @y2you,@y5you,@y1tao,@y2tao,@yyjiegu,@ytjiegu,@y2n80you,@y5n80you,@y1n80tao,@y2n80tao,@ydg";

            sql2 = sql2.Replace("@年度", year.ToString());
            sql2 = sql2.Replace("@日期", "'" + 前一日时间 + "'");
            Cmd.CommandText = sql2;
            Reader = Cmd.ExecuteReader();
            if (Reader.Read())
            {
                //油管量
                y2you = Reader.GetDouble(0);
                y5you = Reader.GetDouble(1);
                //套管量
                y1tao = Reader.GetDouble(2);
                y2tao = Reader.GetDouble(3);
                //油接箍
                yyjg = Reader.GetInt32(4);
                ytjg = Reader.GetInt32(5);

                y2n80you = Reader.GetDouble(6);
                y5n80you = Reader.GetDouble(7);
                y1n80tao = Reader.GetDouble(8);
                y2n80tao = Reader.GetDouble(9);
                ydg = double.Parse(Reader.GetSqlValue(10).ToString());
            }
            Reader.Close();
            yyou = y2you + y5you + y2n80you + y5n80you;
            ytao = y1tao + y2tao + y1n80tao + y2n80tao;
            //---------------------------
            //当日入库量
            前一日时间 = DateTime.Parse(this.RiQi.Text);
            string sql3 = @"
            declare @d2you float
            declare @d5you float
            declare @d2n80you float
            declare @d5n80you float

            declare @d1tao float
            declare @d2tao float
            declare @d1n80tao float
            declare @d2n80tao float

            declare @dyjiegu int
            declare @dtjiegu int     
            declare @ddg float

            declare @riqi smalldatetime
            select @d2you=round(isnull(sum(入库重量),0)/1000,3) from 生产进度 where 分厂ID=2 and 产品类别ID=1 and 日期=@日期
            select @d5you=round(isnull(sum(入库重量),0)/1000,3) from 生产进度 where 分厂ID=5 and 产品类别ID=1 and 日期=@日期
            select @d2n80you=round(isnull(sum(入库重量),0)/1000,3) from 生产进度 where 分厂ID=2 and 产品类别ID=3 and 日期=@日期
            select @d5n80you=round(isnull(sum(入库重量),0)/1000,3) from 生产进度 where 分厂ID=5 and 产品类别ID=3 and 日期=@日期

            select @d1tao=round(isnull(sum(入库重量),0)/1000,3) from 生产进度 where 分厂ID=1 and 产品类别ID=2 and 日期=@日期
            select @d2tao=round(isnull(sum(入库重量),0)/1000,3) from 生产进度 where 分厂ID=2 and 产品类别ID=2 and 日期=@日期
            select @d1n80tao=round(isnull(sum(入库重量),0)/1000,3) from 生产进度 where 分厂ID=1 and 产品类别ID=4 and 日期=@日期
            select @d2n80tao=round(isnull(sum(入库重量),0)/1000,3) from 生产进度 where 分厂ID=2 and 产品类别ID=4 and 日期=@日期

            select @dyjiegu=isnull(sum(磷化支数),0) from 生产进度3 where [产品类别ID]=1 and 日期=@日期 
            select @dtjiegu=isnull(sum(磷化支数),0) from 生产进度3 where [产品类别ID]=2 and 日期=@日期 

            select @ddg=isnull(sum(当日),0) from 精密带钢进度 where 日期=@日期

            select @d2you,@d5you,@d1tao,@d2tao,@d2n80you,@d5n80you,@d1n80tao,@d2n80tao,@dyjiegu,@dtjiegu,@ddg";
            sql3 = sql3.Replace("@日期", "'" + 前一日时间 + "'");
            Cmd.CommandText = sql3;
            Reader = Cmd.ExecuteReader();
            if (Reader.Read())
            {
                //油管量
                d2rkyou = Reader.GetDouble(0);
                d5rkyou = Reader.GetDouble(1);
                //套管量
                d1rktao = Reader.GetDouble(2);
                d2rktao = Reader.GetDouble(3);

                d2n80rkyou = Reader.GetDouble(4);
                d5n80rkyou = Reader.GetDouble(5);

                d1n80rktao = Reader.GetDouble(6);
                d2n80rktao = Reader.GetDouble(7);

                油管接箍当日库存 = Reader.GetInt32(8);
                套管接箍当日库存 = Reader.GetInt32(9);
                带钢当日库存 = double.Parse(Reader.GetSqlValue(10).ToString());
            }
            Reader.Close();
            drkyou = d2rkyou + d5rkyou + d2n80rkyou + d5n80rkyou;
            drktao = d1rktao + d2rktao + d1n80rktao + d2n80rktao;
            套管当日库存 = drktao;
            油管当日库存 = drkyou;
            
            //带钢
            string sql01 =
@"select cast(isnull(年计划,0) as float) as 年计划
, cast(isnull(月计划,0) as float) as 月计划
,cast(isnull(当日,0) as float) as 当日
,cast(isnull(本月,0) as float) as 本月
,cast(isnull(本年,0) as float) as 本年
from 精密带钢进度 where 日期='" + DateTime.Parse(this.RiQi.Text) + "'";
            Cmd.CommandText = sql01;
            Reader = Cmd.ExecuteReader();
            if (Reader.Read())
            {
                带钢年计划 = Reader.GetDouble(0);
                带钢月计划 = Reader.GetDouble(1);
                带钢当日 = Reader.GetDouble(2);
                带钢本月 = Reader.GetDouble(3);
                带钢本年 = Reader.GetDouble(4);
                if (带钢月计划 > 0)
                {
                    带钢月完成率 = 带钢本月 / 带钢月计划 * 100;
                }
                if (带钢年计划 > 0)
                {
                    带钢年完成率 = 带钢本年 / 带钢年计划 * 100;
                }
            }
            Reader.Close();

            Cmd.CommandText =
    @"select cast(isnull(年计划,0) as float) as 年计划
, cast(isnull(月计划,0) as float) as 月计划
,cast(isnull(当日,0) as float) as 当日
,cast(isnull(本月,0) as float) as 本月
,cast(isnull(本年,0) as float) as 本年
from 不锈钢进度 where 日期='" + DateTime.Parse(this.RiQi.Text) + "'";
            Reader = Cmd.ExecuteReader();
            if (Reader.Read())
            {
                不锈钢年计划 = Reader.GetDouble(0);
                不锈钢月计划 = Reader.GetDouble(1);
                不锈钢当日 = Reader.GetDouble(2);
                不锈钢本月 = Reader.GetDouble(3);
                不锈钢本年 = Reader.GetDouble(4);
                if (不锈钢月计划 > 0)
                {
                    不锈钢月完成率 = 不锈钢本月 / 不锈钢月计划 * 100;
                }
                if (不锈钢年计划 > 0)
                {
                    不锈钢年完成率 = 不锈钢本年 / 不锈钢年计划 * 100;
                }
            }
            Reader.Close();

            Cmd.CommandText =
    @"select cast(isnull(年计划,0) as float) as 年计划
, cast(isnull(月计划,0) as float) as 月计划
,cast(isnull(当日,0) as float) as 当日
,cast(isnull(本月,0) as float) as 本月
,cast(isnull(本年,0) as float) as 本年
from 外加工进度 where 日期='" + DateTime.Parse(this.RiQi.Text) + "'";
            Reader = Cmd.ExecuteReader();
            if (Reader.Read())
            {
                外加工年计划 = Reader.GetDouble(0);
                外加工月计划 = Reader.GetDouble(1);
                外加工当日 = Reader.GetDouble(2);
                外加工本月 = Reader.GetDouble(3);
                外加工本年 = Reader.GetDouble(4);
                if (外加工月计划 > 0)
                {
                    外加工月完成率 = 外加工本月 / 外加工月计划 * 100;
                }
                if (外加工年计划 > 0)
                {
                    外加工年完成率 = 外加工本年 / 外加工年计划 * 100;
                }
            }
            Reader.Close();
            if ((带钢月计划 + 不锈钢月计划 + 外加工月计划) > 0)
            {
                带钢合计月完成率 = (带钢本月 + 不锈钢本月 + 外加工本月) / (带钢月计划 + 不锈钢月计划 + 外加工月计划) * 100;
            }
            if ((带钢年计划 + 不锈钢年计划 + 外加工年计划) > 0)
            {
                带钢合计年完成率 = (带钢本年 + 不锈钢本年 + 外加工本年) / (带钢年计划 + 不锈钢年计划 + 外加工年计划) * 100;
            }
            Conn.Close();
            //当月累计完成率
            if (ytaojihua == 0)
            {
                mtao完成率 = 0;
            }
            else
            {
                mtao完成率 = ((mtao / ytaojihua) * 100);
            }
            if (yyoujihua == 0)
            {
                myou完成率 = 0;
            }
            else
            {
                myou完成率 = ((myou / yyoujihua) * 100);
            }
            if (yyjgjihua == 0)
            {
                myjiegu完成率 = 0;
            }
            else
            {
                myjiegu完成率 = ((myjg / yyjgjihua) * 100);
            }
            if (ytjgjihua == 0)
            {
                mtjiegu完成率 = 0;
            }
            else
            {
                mtjiegu完成率 = ((mtjg / ytjgjihua) * 100);
            }
            
            //当年累计完成率
            if (ntaojihua == 0)
            {
                ytao完成率 = 0;
            }
            else
            {
                ytao完成率 = ((ytao / ntaojihua) * 100);
            }
            if (nyoujihua == 0)
            {
                yyou完成率 = 0;
            }
            else
            {
                yyou完成率 = ((yyou / nyoujihua) * 100);
            }
            if (ntjgjihua == 0)
            {
                ytjiegu完成率 = 0;
            }
            else
            {
                ytjiegu完成率 = ((ytjg / ntjgjihua) * 100);
            }
            if (nyjgjihua == 0)
            {
                yyjiegu完成率 = 0;
            }
            else
            {
                yyjiegu完成率 = ((yyjg / nyjgjihua) * 100);
            }
           
            Conn.Close();
            Reader.Dispose();
            Cmd.Dispose();
            Conn.Dispose();
        }

        protected void WriteToFile()
        {
            Response.ContentType = "application/ms-excel";
            Response.AddHeader("content-disposition", "attachment; filename=\"" + DateTime.Today.ToShortDateString() + ".xls\"");
            hssfworkbook.Write(Response.OutputStream);
        }

        protected void InitializeWorkbook()
        {

            FileStream file = new FileStream(HttpContext.Current.Server.MapPath("/JueCe/模板/公司调度日报表(总表二).xls"), FileMode.Open, FileAccess.Read);

            hssfworkbook = new HSSFWorkbook(file);

            DocumentSummaryInformation dsi = PropertySetFactory.CreateDocumentSummaryInformation();
            dsi.Company = "陕西延长石油(集团)公司调度日报表(总表二)";
            hssfworkbook.DocumentSummaryInformation = dsi;

            SummaryInformation si = PropertySetFactory.CreateSummaryInformation();
            si.Subject = "报表";
            si.Title = "陕西延长石油(集团)公司调度日报表(总表二)";
            hssfworkbook.SummaryInformation = si;
        }
        protected void Button_Save_Click(object sender, EventArgs e)
        {
            InitializeWorkbook();
            HSSFSheet sheet1 = hssfworkbook.GetSheet("公司调度日报表(总表二)");
            sheet1.GetRow(1).GetCell(4).SetCellValue("统计时间：" + this.RiQi.Text);
            Button_Query_Click(null, null);
            sheet1.GetRow(4).GetCell(2).SetCellValue(ntaojihua);
            sheet1.GetRow(4).GetCell(3).SetCellValue(ytaojihua);
            sheet1.GetRow(4).GetCell(4).SetCellValue(dtao);
            sheet1.GetRow(4).GetCell(5).SetCellValue(mtao.ToString("0.000"));
            sheet1.GetRow(4).GetCell(6).SetCellValue(ytao.ToString("0.000"));
            sheet1.GetRow(4).GetCell(7).SetCellValue(dtao完成率);
            sheet1.GetRow(4).GetCell(8).SetCellValue(mtao完成率.ToString("0.0"));
            sheet1.GetRow(4).GetCell(9).SetCellValue(ytao完成率.ToString("0.00"));
            sheet1.GetRow(4).GetCell(11).SetCellValue(套管月初库存);
            sheet1.GetRow(4).GetCell(12).SetCellValue(套管当日库存);

            sheet1.GetRow(5).GetCell(2).SetCellValue(nyoujihua);
            sheet1.GetRow(5).GetCell(3).SetCellValue(yyoujihua);
            sheet1.GetRow(5).GetCell(4).SetCellValue(dyou);
            sheet1.GetRow(5).GetCell(5).SetCellValue(myou.ToString("0.000"));
            sheet1.GetRow(5).GetCell(6).SetCellValue(yyou.ToString("0.000"));
            sheet1.GetRow(5).GetCell(7).SetCellValue(dyou完成率);
            sheet1.GetRow(5).GetCell(8).SetCellValue(myou完成率.ToString("0.0"));
            sheet1.GetRow(5).GetCell(9).SetCellValue(yyou完成率.ToString("0.00"));
            sheet1.GetRow(5).GetCell(11).SetCellValue(油管月初库存);
            sheet1.GetRow(5).GetCell(12).SetCellValue(油管当日库存);

            sheet1.GetRow(6).GetCell(2).SetCellValue(ntjgjihua);
            sheet1.GetRow(6).GetCell(3).SetCellValue(ytjgjihua);
            sheet1.GetRow(6).GetCell(4).SetCellValue(dtjg);
            sheet1.GetRow(6).GetCell(5).SetCellValue(mtjg.ToString("0.000"));
            sheet1.GetRow(6).GetCell(6).SetCellValue(ytjg.ToString("0.000"));
            sheet1.GetRow(6).GetCell(7).SetCellValue(dtjiegu完成率);
            sheet1.GetRow(6).GetCell(8).SetCellValue(mtjiegu完成率.ToString("0.0"));
            sheet1.GetRow(6).GetCell(9).SetCellValue(ytjiegu完成率.ToString("0.00"));
            sheet1.GetRow(6).GetCell(11).SetCellValue(套管接箍月初库存);
            sheet1.GetRow(6).GetCell(12).SetCellValue(套管接箍当日库存);

            sheet1.GetRow(7).GetCell(2).SetCellValue(nyjgjihua);
            sheet1.GetRow(7).GetCell(3).SetCellValue(yyjgjihua);
            sheet1.GetRow(7).GetCell(4).SetCellValue(dyjg);
            sheet1.GetRow(7).GetCell(5).SetCellValue(myjg.ToString("0.000"));
            sheet1.GetRow(7).GetCell(6).SetCellValue(yyjg.ToString("0.000"));
            sheet1.GetRow(7).GetCell(7).SetCellValue(dyjiegu完成率);
            sheet1.GetRow(7).GetCell(8).SetCellValue(myjiegu完成率.ToString("0.0"));
            sheet1.GetRow(7).GetCell(9).SetCellValue(yyjiegu完成率.ToString("0.00"));
            sheet1.GetRow(7).GetCell(11).SetCellValue(油管接箍月初库存);
            sheet1.GetRow(7).GetCell(12).SetCellValue(油管接箍当日库存);

            sheet1.GetRow(8).GetCell(2).SetCellValue(带钢年计划);
            sheet1.GetRow(8).GetCell(3).SetCellValue(带钢月计划 + 不锈钢月计划 + 外加工月计划);
            sheet1.GetRow(8).GetCell(4).SetCellValue(带钢当日 + 不锈钢当日 + 外加工当日);
            sheet1.GetRow(8).GetCell(5).SetCellValue(带钢本月 + 不锈钢本月 + 外加工本月);
            sheet1.GetRow(8).GetCell(6).SetCellValue(带钢本年 + 不锈钢本年 + 外加工本年);
            sheet1.GetRow(8).GetCell(7).SetCellValue(带钢合计日完成率.ToString("0.0"));
            sheet1.GetRow(8).GetCell(8).SetCellValue(带钢合计月完成率.ToString("0.0"));
            sheet1.GetRow(8).GetCell(9).SetCellValue(带钢合计年完成率.ToString("0.0"));
            sheet1.GetRow(8).GetCell(11).SetCellValue(带钢月初库存);
            sheet1.GetRow(8).GetCell(12).SetCellValue(带钢当日库存);

            //sheet1.GetRow(6).GetCell(2).SetCellValue((ntjiegujihua * 6.1) / 1000);
            //sheet1.GetRow(6).GetCell(3).SetCellValue((ytjiegujihua * 6.1) / 1000);
            //sheet1.GetRow(6).GetCell(4).SetCellValue((dtjiegu*6.1)/1000);
            //sheet1.GetRow(6).GetCell(5).SetCellValue(((mtjiegu*6.1)/1000).ToString("0.000"));
            //sheet1.GetRow(6).GetCell(6).SetCellValue(((ytjiegu*6.1)/1000).ToString("0.000"));
            //sheet1.GetRow(6).GetCell(7).SetCellValue(dtjiegu完成率);
            //sheet1.GetRow(6).GetCell(8).SetCellValue(mtjiegu完成率.ToString("0.0"));
            //sheet1.GetRow(6).GetCell(9).SetCellValue(ytjiegu完成率.ToString("0.00"));
            //sheet1.GetRow(6).GetCell(11).SetCellValue(套管接箍月初库存);
            //sheet1.GetRow(6).GetCell(12).SetCellValue(套管接箍当日库存);

            //sheet1.GetRow(7).GetCell(2).SetCellValue((nyjiegujihua * 2.3) / 1000);
            //sheet1.GetRow(7).GetCell(3).SetCellValue((yyjiegujihua * 2.3) / 1000);
            //sheet1.GetRow(7).GetCell(4).SetCellValue((dyjiegu*2.3)/1000);
            //sheet1.GetRow(7).GetCell(5).SetCellValue(((myjiegu*2.3)/1000).ToString("0.000"));
            //sheet1.GetRow(7).GetCell(6).SetCellValue(((yyjiegu*2.3)/1000).ToString("0.000"));
            //sheet1.GetRow(7).GetCell(7).SetCellValue(dyjiegu完成率);
            //sheet1.GetRow(7).GetCell(8).SetCellValue(myjiegu完成率.ToString("0.0"));
            //sheet1.GetRow(7).GetCell(9).SetCellValue(yyjiegu完成率.ToString("0.00"));
            //sheet1.GetRow(7).GetCell(11).SetCellValue(油管接箍月初库存);
            //sheet1.GetRow(7).GetCell(12).SetCellValue(油管接箍当日库存);
            //string op = (string)this.Session["OperatorName"];
            //if (op != null)
            //{
            //    sheet1.GetRow(9).GetCell(5).SetCellValue(op);
            //}
            //sheet1.ForceFormulaRecalculation = true;
            WriteToFile();
            Response.End();
        }  
    </script>
</head>
<body>
     <script type="text/javascript" language="javascript" src="/common.js"></script>
    <form id="form1" runat="server">
    <div id="wintop" class="wintop">延长石油(集团)公司调度日报表(总表二)</div>
        <asp:Panel ID="Panel3" runat="server" CssClass="panel">
            年份：<asp:DropDownList ID="Year0" runat="server" AutoPostBack="true">
            <asp:ListItem>2009</asp:ListItem>
            <asp:ListItem>2010</asp:ListItem>
            <asp:ListItem>2011</asp:ListItem>
            <asp:ListItem>2012</asp:ListItem>
            <asp:ListItem>2013</asp:ListItem>
            <asp:ListItem>2014</asp:ListItem>
            <asp:ListItem>2015</asp:ListItem>            
            </asp:DropDownList>
            月份：<asp:DropDownList ID="Month0" runat="server" AutoPostBack="true">
            <asp:ListItem>1</asp:ListItem>
            <asp:ListItem>2</asp:ListItem>
            <asp:ListItem>3</asp:ListItem>
            <asp:ListItem>4</asp:ListItem>
            <asp:ListItem>5</asp:ListItem>
            <asp:ListItem>6</asp:ListItem>
            <asp:ListItem>7</asp:ListItem>
            <asp:ListItem>8</asp:ListItem>
            <asp:ListItem>9</asp:ListItem>
            <asp:ListItem>10</asp:ListItem>
            <asp:ListItem>11</asp:ListItem>
            <asp:ListItem>12</asp:ListItem>
            </asp:DropDownList>
            &nbsp;日期：<asp:TextBox ID="RiQi" runat="server" 
                CssClass="intxt1" Width="110px" AutoPostBack="true"></asp:TextBox>
            <img align="middle" alt="" 
                onclick="makecalendar(document.getElementById('RiQi').value, document.getElementById('RiQi'));" 
                src="/Icons/29.png" /></asp:textbox>  
           <asp:Button ID="Button_Query"
            runat="server" Text="查看报表" CssClass="button" UseSubmitBehavior="true" onclick="Button_Query_Click"  Visible="false"
             />
            <asp:Button ID="Button_Save" runat="server" Text="导出报表" CssClass="button" 
                UseSubmitBehavior="False" onclick="Button_Save_Click"/>
        </asp:Panel>
        <asp:Panel ID="Panel2" runat="server" CssClass="panel2">
            <asp:Label ID="Message" runat="server" Text="·准备就绪" CssClass="prompt"></asp:Label>
        </asp:Panel>

<asp:Panel ID="Panel4" runat="server" CssClass="panel3">    
   <table width="882" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td height="75" colspan="3"><div align="center"><h2>陕西延长石油(集团)公司调度日报表(总表二)</h2></div></td>
  </tr>
  <tr>
    <td width="213">填报单位：生产处</td>
    <td width="432"><div align="center">统计时间：<%=前一日时间.ToString("yyyy年MM月dd日")%></div></td>
    <td width="237" align="right">单位：吨</td>
  </tr>
</table>
<div style="width:746px;border:1px solid #000000;" align=left>
<table width="882" border="1" cellspacing="0" cellpadding="0" class="table2">
  <tr>
    <td width="38" class="style1"><div align="center">单位</div></td>
    <td width="70" rowspan="2"><div align="center">产品</div></td>
    <td colspan="5" class="style1"><div align="center">生产情况</div>      
      </td>
    <td colspan="3" class="style1"><div align="center">完成率%</div>      
      </td>
    <td colspan="3" class="style1"><div align="center">库存情况</div>      </td>
  </tr>
  <tr>
    <td rowspan="6" align="center" valign="middle"><div align="center">
      <p>材<br /> 
          料<br /> 
          公<br /> 
          司<br />         
         </p>
    </div></td>
    <td width="63" class="style1"><div align="center">年计划</div></td>
    <td width="63" class="style1"><div align="center">月计划</div></td>
    <td width="68" class="style1"><div align="center">当日生产</div></td>
    <td width="72" class="style1"><div align="center">月累计</div></td>
    <td width="98" class="style1"><div align="center">年累计</div></td>
    <td width="52" class="style1"><div align="center">当日</div></td>
    <td width="59" class="style1"><div align="center">月累计</div></td>
    <td width="55" class="style1"><div align="center">年累计</div></td>
    <td width="70" class="style1"><div align="center">名称</div></td>
    <td width="76" class="style1"><div align="center">月初库存</div></td>
    <td width="70" class="style1"><div align="center">当日库存</div></td>
  </tr>
  <tr>
    <td class="style2"><div align="center">石油套管</div></td>
    <td class="style2"><div align="center"><%=ntaojihua%></div></td>
    <td class="style2"><div align="center"><%=ytaojihua%></div></td>
    <td class="style2"><div align="center"><%=dtao%></div></td>
    <td class="style2"><div align="center"><%=mtao.ToString("0.000")%></div></td>
    <td class="style2"><div align="center"><%=ytao.ToString("0.000")%></div></td>
    <td class="style2"><div align="center"><%=dtao完成率.ToString("0.0")%></div></td>
    <td class="style2"><div align="center"><%=mtao完成率.ToString("0.0")%></div></td>
    <td class="style2"><div align="center"><%=ytao完成率.ToString("0.00")%></div></td>
    <td class="style2"><div align="center">石油套管</div></td>
    <td class="style2"><div align="center"><%=套管月初库存 %></div></td>
    <td class="style2"><div align="center"><%=套管当日库存%></div></td>
  </tr>
  <tr>
    <td class="style3"><div align="center">石油油管</div></td>
    <td class="style3"><div align="center"><%=nyoujihua%></div></td>
    <td class="style3"><div align="center"><%=yyoujihua%></div></td>
    <td class="style3"><div align="center"><%=dyou%></div></td>
    <td class="style3"><div align="center"><%=myou.ToString("0.000")%></div></td>
    <td class="style3"><div align="center"><%=yyou.ToString("0.000")%></div></td>
    <td class="style3"><div align="center"><%=dyou完成率.ToString("0.0") %></div></td>
    <td class="style3"><div align="center"><%=myou完成率.ToString("0.0") %></div></td>
    <td class="style3"><div align="center"><%=yyou完成率.ToString("0.00") %></div></td>
    <td class="style3"><div align="center">石油油管</div></td>
    <td class="style3"><div align="center"><%=油管月初库存 %></div></td>
    <td class="style3"><div align="center"><%=油管当日库存%></div></td>
  </tr>
 <tr>
    <td class="style3"><div align="center">套管接箍</div></td>
    <td class="style3"><div align="center"><%=ntjgjihua%></div></td>
    <td class="style3"><div align="center"><%=ytjgjihua%></div></td>
    <td class="style3"><div align="center"><%=dtjg%></div></td>
    <td class="style3"><div align="center"><%=mtjg%></div></td>
    <td class="style3"><div align="center"><%=ytjg%></div></td>
    <td class="style3"><div align="center"><%=dtjiegu完成率.ToString("0.0")%></div></td>
    <td class="style3"><div align="center"><%=mtjiegu完成率.ToString("0.0")%></div></td>
    <td class="style3"><div align="center"><%=ytjiegu完成率.ToString("0.00")%></div></td>
    <td class="style3"><div align="center">套管接箍</div></td>
    <td class="style3"><div align="center"><%=套管接箍月初库存%></div></td>
    <td class="style3"><div align="center"><%=套管接箍当日库存%></div></td>
  </tr>
  <tr>
    <td class="style3"><div align="center">油管接箍</div></td>
    <td class="style3"><div align="center"><%=nyjgjihua%></div></td>
    <td class="style3"><div align="center"><%=yyjgjihua%></div></td>
    <td class="style3"><div align="center"><%=dyjg%></div></td>
    <td class="style3"><div align="center"><%=myjg%></div></td>
    <td class="style3"><div align="center"><%=yyjg%></div></td>
    <td class="style3"><div align="center"><%=dyjiegu完成率.ToString("0.0")%></div></td>
    <td class="style3"><div align="center"><%=myjiegu完成率.ToString("0.0")%></div></td>
    <td class="style3"><div align="center"><%=yyjiegu完成率.ToString("0.00")%></div></td>
    <td class="style3"><div align="center">油管接箍</div></td>
    <td class="style3"><div align="center"><%=油管接箍月初库存%></div></td>
    <td class="style3"><div align="center"><%=油管接箍当日库存%></div></td>
  </tr>
  <tr>
    <td class="style3"><div align="center">带钢</div></td>
    <td class="style3"><div align="center"><%=带钢年计划%></div></td>
    <td class="style3"><div align="center"><%=带钢月计划 + 不锈钢月计划 + 外加工月计划%></div></td>
    <td class="style3"><div align="center"><%=带钢当日 + 不锈钢当日 + 外加工当日%></td>
    <td class="style3"><div align="center"><%=带钢本月 + 不锈钢本月 + 外加工本月%></div></td>
    <td class="style3"><div align="center"><%=带钢本年 + 不锈钢本年 + 外加工本年%></div></td>
    <td class="style3"><div align="center"><%=带钢合计日完成率.ToString("0.0")%></div></td>
    <td class="style3"><div align="center"><%=带钢合计月完成率.ToString("0.0")%></div></td>
    <td class="style3"><div align="center"><%=带钢合计年完成率.ToString("0.0")%></div></td>
    <td class="style3"><div align="center">带钢</div></td>
    <td class="style3"><div align="center"><%=带钢月初库存%></div></td>
    <td class="style3"><div align="center"><%=带钢当日库存%></div></td>
  </tr>
</table>
</div><div align="left" style="width:830px">
        <br/>
    <br/>
    备注：1.请按要求及时填报并于每月10:00前发到延长集团生产技术部调度中心邮箱.。邮箱：ycsyscb@163.com 
    <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2.当日日报中的数据统计时间均为前一日<br>   
    <br>
    <br>
        <br>
        <br>
        <br>
        <br></br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <br></br>
        <br>
        <br>
        <br>
        <br>
        <br></br>
        <br>
        <br>
        <br>
        <br>
        <br></br>
        <br>
        <br>
        <br>
        <br></br>
        <br>
        <br>
        <br>
        <br></br>
        <br>
        <br>
        <br>
        <br></br>
        <br>
        <br>
        <br>
        <br></br>
        <br>
        <br>
        <br></br>
        <br>
        <br>
        <br></br>
        <br>
        <br>
        <br></br>
        <br>
        <br>
        <br></br>
        <br>
        <br>
        <br></br>
        <br>
        <br>
        <br></br>
        <br>
        <br>
        <br></br>
        <br>
        <br>
        <br></br>
        <br>
        <br></br>
        <br>
        <br></br>
        <br>
        <br></br>
        <br>
        <br></br>
        <br>
        <br></br>
        <br>
        <br></br>
        <br>
        <br></br>
        <br>
        <br></br>
        <br>
        <br></br>
        <br>
        <br></br>
        <br>
        <br></br>
        <br>
        <br></br>
        <br>
        <br></br>
        <br>
        <br></br>
        <br>
        <br></br>
        <br>
        <br></br>
        <br></br>
        <br></br>
        <br></br>
        <br></br>
        <br></br>
        <br></br>
        <br></br>
        <br></br>
        <br></br>
        <br></br>
        <br></br>
        <br></br>
        <br></br>
        <br></br>
        <br></br>
        <br></br>
        <br></br>
        <br></br>
        <br></br>
        <br></br>
        <br></br>
        <br></br>
        <br></br>
        <br></br>
        <br></br>
        <br></br>
        <br></br>
        <br></br>
        <br></br>
        <br></br>
        <br></br>
        <br></br>
        </br>
        </br>
        </br>
        </br>
        </br>
        </br>
        </br>
        </br>
        </br>
        </br>
        </br>
        </br>
        </br>
        </br>
        </br>
        </br>
        </br>
        </br>
        </br>
        </br>
        </br>
        </br>
        </br>
        </br>
        </br>
        </br>
        </br>
        </br>
        </br>
        </br>
        </br>
        </br>
        </br>
        </br>
        </br>
        </br>
        </br>
        </br>
        </br>
        </br>
        </br>
        </br>
        </br>
        </br>
        </br>
        </br>
        </br>
        </br>
        </br>
        </br>
        </br>
        </br>
        </br>
        </br>
        </br>
        </br>
        </br>
        </br>
        </br>
        </br>
        </br>
        </br>
    </br>
    </br>
    </div>    
</asp:Panel>
    </form>
    <script>parent.hidesubmenu(true);</script>
</body>
</html>
